package cn.edu.sdjzu.xg23.kcsj01_backend.mapper;


import cn.edu.sdjzu.xg23.kcsj01_backend.entity.authority.Permission;
import cn.edu.sdjzu.xg23.kcsj01_backend.entity.authority.Role;
import cn.edu.sdjzu.xg23.kcsj01_backend.entity.authority.RoleAssPermission;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Map;

@Mapper
public interface RoleMapper {
    // 查询所有角色
    List<Role> selectRolesByCondition(@Param("role") Role role);



    // 根据用户id查询其所有角色
    List<Role> selectRolesByUserId(Long id);


    // 插入角色
    boolean insertRole(Role role);

    // 更新角色
    boolean updateRole(Role role);

    // 删除角色
    boolean deleteRoleById(Long id);

    boolean deleteRolePermissions(Long roleId);

    // 插入角色权限关联
    boolean insertRolePermissions(@Param("roleId") Long roleId,
                               @Param("permissions") Collection<Permission> permissions);

    // 根据角色id查询已有权限
    List<Permission> selectPermissionsByRoleId(@Param("roleId") Long roleId);




}
